/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
//Xian-Guo Lu <lu@physi.uni-heidelberg.de>
//

#ifndef ALIANALYSISTASKPKRAA_H
#define ALIANALYSISTASKPKRAA_H

#ifndef ALIANALYSISTASKSE_H
#include "AliAnalysisTaskSE.h"
#endif

#include <TTreeStream.h>

class AliMCEvent;
class AliStack; 
class AliESDtrack;
class AliESDEvent;
class AliPIDResponse;
class TTreeSRedirector;
class TH1I;
class TH1D;
class TH2D;
class TAxis;

typedef AliESDtrack typetrack;

class AliAnalysisTaskpkRaa : public AliAnalysisTaskSE
{
 public:
  
  AliAnalysisTaskpkRaa();
  ~AliAnalysisTaskpkRaa();
  void UserExec(Option_t *);
  void UserCreateOutputObjects();

 private:
  Int_t SetCenAxis(TAxis *ax);
  void SaveMCgen(const Float_t v0cen, const Int_t kev);
  Bool_t EtaCut(const Float_t eta);
  Bool_t CutInput();
  Int_t FailCutEvent(const Float_t v0cen);
  void CutTrack(Int_t &nsel, typetrack *outtrk[], Int_t  cutbit[]);
  TString GetRunInfo();

  AliMCEvent *fMCEvent;
  AliStack *fMCStack;
  TTreeStream *fMCStream;
  TTree *fMCTree;

  AliESDEvent *fEvent; 
  AliPIDResponse * fpid;
  TTreeStream *fStream;
  TTree *fTree;

  TList *fList;
  TH2D * fCuts;
  TH1D * fVtxZ;
  TH1I *fNsel;
  TH1D *fCen;
  TH1D *fEta;
  TH1I *fNevent;

  ClassDef(AliAnalysisTaskpkRaa, 0);
};
#endif

